package done.easy_801_900;

import org.junit.Test;

import static com.study.util.LogUtil.info;

/**
 * 884. Uncommon Words from Two Sentences 两句话中的不常见单词
 * <p>
 * 给定两个句子 A 和 B 。 （句子是一串由空格分隔的单词。每个单词仅由
 * 小写字母组成。）如果一个单词在其中一个句子中只出现一次，在另一个句
 * 子中却没有出现，那么这个单词就是不常见的。返回所有不常用单词的列表。
 * 您可以按任何顺序返回列表。
 * <p>
 * 示例 1：
 * 输入：A = "this apple is sweet", B = "this apple is sour"
 * 输出：["sweet","sour"]
 * <p>
 * 示例 2：
 * 输入：A = "apple apple", B = "banana"
 * 输出：["banana"]
 *
 * @author 大硕
 * 2019-04-12 9:46 PM
 **/
@SuppressWarnings("all")
public class UncommonWordsFromTwoSentences {

    public String[] uncommonFromSentences(String A, String B) {
        // 190412 first
        return null;
    }

    @Test
    public void test() {
        String A = "this apple is sweet";
        String B = "this apple is sour";
        info(uncommonFromSentences(A, B));
    }
}












































/*
public String[] uncommonFromSentences(String A, String B) {
    //思路:遍历AB，map统计每个词的次数;遍历map，次数为1的为不常见单词
    Map<String,Integer> map = new HashMap<>();

    // A句里面 单词计数器 +1
    for (String word : A.split(" ")) {
        map.put(word, map.containsKey(word) ? map.get(word) + 1 : 1);
    }

    // B句里面 单词计数器 +1
    for (String word : B.split(" ")) {
        map.put(word, map.containsKey(word) ? map.get(word) + 1 : 1);
    }

    List<String> res = new ArrayList<>();
    for (String key : map.keySet()) {
        //只出现了一个的， 就是低频词
        if (map.get(key) == 1)
            res.add(key);
    }
    return res.toArray(new String[res.size()]);
}
*/
